package cn.tedu.store.mapper;

import java.util.Date;
import java.util.List;

import org.apache.ibatis.annotations.Param;

import cn.tedu.store.entity.Address;

/**
 * 收货地址接口
 * @author DELL
 *
 */
public interface AddressMapper {
	/**
	 * 添加收货地址
	 * @param address 添加地址实体类
	 * @return 返回是否插入成功
	 */
	Integer insert(Address address);
	/**
	 * 	查询收货地址数量
	 * @param uid 用户数据id
	 * @return 返回用户数据的数量
	 */
	Integer countByUid(Integer uid);
	
	/**
	 * 通过id查询收货地址所有信息 
	 * @param uid
	 * @return
	 */
	List<Address> findByUid(Integer uid);
	
	/**
	 *  将收货地址设置为默认选择
	 * @param aid 收货地址的id
	 * @param modifiedUser 修改人
	 * @param modifiedTime 修改事件
	 * @return 更新默认设置
	 */
	Integer updateDefault(@Param("aid") Integer aid, @Param("modifiedUser") String modifiedUser ,@Param("modifiedTime") Date modifiedTime);
	
	/**
	 * 将说有的收货地址设置为非默认设置
	 * @param uid 用户的id
	 * @return 更新非默认设置
	 */
	Integer updateNonDefault(Integer uid);
	
	/**
	 * 通过收货地址的 aid 查询收货地址信息
	 * @param aid 收货地址的id
	 * @return 返回收货地址信息
	 */
	Address findByAid(Integer aid);
	
	/**
	 * 删除收货地址信息
	 * @param aid 收货地址id
	 * @return 返回删除的行数
	 */
	Integer deleteAddress(Integer aid);
	
	/**
	 * 查询最后修改用户收货地址的信息
	 * @param uid 用户id
	 * @return
	 */
	Address findLastModified(Integer uid);
}	
